﻿using Microsoft.CodeAnalysis;
using System;
using System.Collections.Generic;
using System.Text;

namespace Athena.ProxyGenerator
{
    public interface IServiceProxyGenerater : IDisposable
    {
        /// <summary>
        /// 生成代理
        /// </summary>
        /// <param name="interfaceTypes"></param>
        /// <returns></returns>
        IEnumerable<Type> GeneratorProxys(IEnumerable<Type> interfaceTypes);

        /// <summary>
        /// 生成代理树
        /// </summary>
        /// <param name="interfaceType"></param>
        /// <returns></returns>
        SyntaxTree GeneratorProxyTree(Type interfaceType);
    }
}
